package py.progweb.sgc.gui.client.dialog;

import py.progweb.sgc.gui.client.service.ABMService;
import py.progweb.sgc.gui.client.service.ABMServiceAsync;
import py.progweb.sgc.gui.shared.dialogmodel.DataRecord;
import py.progweb.sgc.model.Vendedor;

import com.google.gwt.core.client.GWT;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.form.fields.IntegerItem;

public class FormularioVendedores extends FormularioBase {
	
	Vendedor vendedor = new Vendedor();
	TextItem codVendedorPk, username, password, nombre, apellido, direccion, telefono;
	IntegerItem cedula;
	ABMServiceAsync service;	
	
	public FormularioVendedores(VentanaBase padre) {
		super("Vendedor",padre);		
		
		codVendedorPk = new TextItem();
		codVendedorPk.setTitle("codVendedorPk");
		codVendedorPk.setDisabled(true);
		
		username = new TextItem();
		username.setTitle("Username");
		username.setRequired(true);
		
		password = new TextItem();
		password.setTitle("Password");
		password.setRequired(true);
		
		cedula = new IntegerItem();
		cedula.setTitle("Cedula");
		cedula.setRequired(true);
		
		nombre = new TextItem();
		nombre.setTitle("Nombre");
		nombre.setRequired(true);
		
		apellido = new TextItem();
		apellido.setTitle("Apellido");
		apellido.setRequired(true);
		
		direccion = new TextItem();
		direccion.setTitle("Direccion");
		direccion.setRequired(false);
		
		telefono = new TextItem();
		telefono.setTitle("Telefono");
		telefono.setRequired(false);
		
		this.setItems(codVendedorPk, username, password, cedula, nombre,apellido, direccion, telefono);
		
		service = GWT.create(ABMService.class);
	}

	@Override
	public void reset() {
		codVendedorPk.setValue("");
		username.setValue("");
		password.setValue("");
		cedula.setValue("");
		nombre.setValue("");
		apellido.setValue("");
		direccion.setValue("");
		telefono.setValue("");
	}

	@Override
	protected void guardar() {
		if(!vacio(codVendedorPk.getValue()))
			vendedor.setCodVendedorPk(Integer.parseInt(codVendedorPk.getValue().toString()));
		vendedor.setUsername(username.getValue().toString());
		vendedor.setPassword(password.getValue().toString());
		vendedor.setCedula((Integer)cedula.getValue());
		vendedor.setNombre(nombre.getValue().toString());
		vendedor.setApellido(apellido.getValue().toString());
		if (!vacio(direccion.getValue())){
			vendedor.setDireccion(direccion.getValue().toString());
		}else{
			vendedor.setDireccion("");
		}
		
		if (!vacio(telefono.getValue())){
			vendedor.setTelefono(telefono.getValue().toString());
		}else{
			vendedor.setTelefono("");
		}
	
		service.guardar(vendedor, callback);
	}
	
	public void setData(DataRecord dr) {
		codVendedorPk.setValue(dr.getAtributo("codVendedorPk").toString());
		username.setValue((String)dr.getAtributo("username"));
		password.setValue((String)dr.getAtributo("password"));
		cedula.setValue((Integer)dr.getAtributo("cedula"));
		nombre.setValue((String)dr.getAtributo("nombre"));
		apellido.setValue((String)dr.getAtributo("apellido"));
		direccion.setValue((String)dr.getAtributo("direccion"));
		telefono.setValue((String)dr.getAtributo("telefono"));
		
	}
}
